package com.wx.generic.method;


import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * 泛型方法
 *
 * @author wang.xun
 * @date 2022/12/23
 */
@Slf4j
public class GenericMethod {

//    private static int add(int a, int b) {
//        log.info("执行的是int a, int b");
//        System.out.println(a + "+" + b + "=" + (a + b));
//        return a + b;
//    }
//
//    private static float add(float a, float b) {
//        log.info("执行的是float a, float b");
//        System.out.println(a + "+" + b + "=" + (a + b));
//        return a + b;
//    }
//
//    private static double add(double a, double b) {
//        log.info("执行的是double a, double b");
//        System.out.println(a + "+" + b + "=" + (a + b));
//        return a + b;
//    }




    /**
     * 此处为泛型方法
     * @param a
     * @param b
     * @return
     * @param <T>
     */
    private static <T extends Number> T add(T a, T b){
        log.info("执行的是T a, T b");


        return a;
    }

    public static void main(String[] args) {

        Number rs = GenericMethod.add(new WxNumber(22), new WxNumber(333));
        log.info("rs:{}",rs);

    }



}
